package com.sqfw.project.wp.mapper;

import java.util.List;

import com.sqfw.project.wp.domain.WpApplyItem;
import com.sqfw.project.wp.domain.WpHandleLog;
import com.sqfw.project.wpReport.domain.WpInfoTransfer;
import com.sqfw.project.zj.domain.ZjSelfHandleStatDto;
import org.springframework.stereotype.Component;

/**
 * 工单主轨迹表Mapper接口
 *
 * @author lx
 * @date 2023-06-07
 */
@Component
public interface WpHandleLogMapper
{

    /**
     * 查询工单主轨迹表列表
     *
     * @param wpHandleLog 工单主轨迹表
     * @return 工单主轨迹表集合
     */
    public List<WpHandleLog> selectWpHandleLogList(WpHandleLog wpHandleLog);

    /**
     * 获取工单轨迹表id一部分
     * */
    String getWpHandleLogId();

    /**
     * 新增工单主轨迹表
     *
     * @param wpHandleLog 工单主轨迹表
     * @return 结果
     */
    public int insertWpHandleLog(WpHandleLog wpHandleLog);

    /**
     * 修改工单主轨迹表
     *
     * @param wpHandleLog 工单主轨迹表
     * @return 结果
     */
    public int updateWpHandleLog(WpHandleLog wpHandleLog);

    /**
     * 删除工单主轨迹表
     *
     * @param wpid 工单主轨迹表主键
     * @return 结果
     */
    public int deleteWpHandleLogByWpid(String wpid);

    /**
     * 批量删除工单主轨迹表
     *
     * @param wpids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWpHandleLogByWpids(String[] wpids);



    public WpHandleLog selectWpHandleLogByProcessId(String processId);

    public List<WpHandleLog> selectWpidListByDeptId(WpHandleLog wpHandleLog);

    public List<WpHandleLog> selectWpHandleLogListByDeptIds(WpInfoTransfer wpInfoTransfer);

    public List<WpHandleLog> selectWpHandleLogListByDeptIdsAndWpids(List<String> wpids, List<String> deptIds);

    public List<String> countWpHandleLog(WpHandleLog handleLog);

    public List<String> countWpHandleLogToZJ(WpHandleLog handleLog);

    public List<String> selectCompleteCountWpidsByDept(WpHandleLog wpHandleLog);

    public List<String> selectUnCompletingCountWpidsByDept(WpHandleLog wpHandleLog);

    public List<String> selectwpidsCompleteDayByDept(WpHandleLog wpHandleLogSe);

    public List<String> selectWpidsByDeptId(WpApplyItem item);

    public List<WpHandleLog> selectWpidListByDeptIdAndScidType(WpHandleLog wpHandleLogDept);

    List<String> selectwpidsCompleteDayByDeptLeftWpInfo(WpHandleLog wpHandleLogSe);

    List<String> selectUnCompletingCountWpidsByDeptLeftWpInfo(WpHandleLog wpHandleLogSe);

    List<ZjSelfHandleStatDto> selectWpidsByScidType(WpHandleLog wpHandleLog);

    List<WpHandleLog> selectWpidListByWpidsAndState(WpHandleLog wpHandleLog);

    List<WpHandleLog> selectWpHandleLogListByUpdateTimeAsc(WpHandleLog wpHandleLog);

    List<String> selectWpidsByScidTypeAndState(WpHandleLog wpHandleLog);

    Integer countWpidListByWpidsAndState(WpHandleLog wpHandleLog);

    Integer countWpidListByWpidsAndZJState(WpHandleLog wpHandleLog);

    List<WpHandleLog> selectWpHandleLogListByWpidAndTime(WpHandleLog wpHandleLog);

    List<WpHandleLog> selectwpidsCompleteDayByDeptNew(WpHandleLog wpHandleLogSe);

    List<WpHandleLog> selectwpidsCompleteDayByDeptNew2(WpHandleLog wpHandleLogSe);

    int updateAllHistoryHfSate(WpHandleLog wpHandleLog);
}
